Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions

QLayoutItem Class Reference

The QLayoutItem class provides an abstract item that a QLayout manipulates. More...

#include <qlayout.h>

Inherited by QLayout, QSpacerItem and QWidgetItem.

List of all member functions.

Public Members


Detailed Description

The QLayoutItem class provides an abstract item that a QLayout manipulates.

This is used by custom layouts.

See also QLayout, Widget Appearance and Style and Layout Management.


Member Function Documentation

QLayoutItem::QLayoutItem ( int alignment = 0 )

Constructs a layout item with an alignment that is a bitwise OR of the Qt::AlignmentFlags. Not all subclasses support alignment.

QLayoutItem::~QLayoutItem () [virtual]

Destroys the QLayoutItem.

int QLayoutItem::alignment () const

Returns the alignment of this item.

QSizePolicy::ExpandData QLayoutItem::expanding () const [pure virtual]

Implemented in subclasses to return whether this item "wants" to expand.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QRect QLayoutItem::geometry () const [pure virtual]

Returns the rectangle covered by this layout item.

Example: customlayout/border.cpp.

bool QLayoutItem::hasHeightForWidth () const [virtual]

Returns TRUE if this layout's preferred height depends on its width; otherwise returns FALSE. The default implementation returns FALSE.

Reimplement this function in layout managers that support height for width.

See also heightForWidth() and QWidget::heightForWidth().

Examples: customlayout/border.cpp and customlayout/flow.cpp.

Reimplemented in QGridLayout and QBoxLayout.

int QLayoutItem::heightForWidth ( int w ) const [virtual]

Returns the preferred height for this layout item, given the width w.

The default implementation returns -1, indicating that the preferred height is independent of the width of the item. Using the function hasHeightForWidth() will typically be much faster than calling this function and testing for -1.

Reimplement this function in layout managers that support height for width. A typical implementation will look like this:

    int MyLayout::heightForWidth( int w ) const
    {
        if ( cache_dirty || cached_width != w ) {
            // not all C++ compilers support "mutable"
            MyLayout *that = (MyLayout*)this;
            int h = calculateHeightForWidth( w );
            that->cached_hfw = h;
            return h;
        }
        return cached_hfw;
    }
  

Caching is strongly recommended; without it layout will take exponential time.

See also hasHeightForWidth().

Example: customlayout/flow.cpp.

Reimplemented in QGridLayout and QBoxLayout.

void QLayoutItem::invalidate () [virtual]

Invalidates any cached information in this layout item.

Reimplemented in QLayout.

bool QLayoutItem::isEmpty () const [pure virtual]

Implemented in subclasses to return whether this item is empty, i.e. whether it contains any widgets.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QLayoutIterator QLayoutItem::iterator () [virtual]

Returns an iterator over this item's QLayoutItem children. The default implementation returns an empty iterator.

Reimplement this function in subclasses that can have children.

Reimplemented in QLayout.

QLayout * QLayoutItem::layout () [virtual]

If this item is a QLayout, return it as a QLayout; otherwise return 0. This function provides type-safe casting.

QSize QLayoutItem::maximumSize () const [pure virtual]

Implemented in subclasses to return the maximum size of this item.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QSize QLayoutItem::minimumSize () const [pure virtual]

Implemented in subclasses to return the minimum size of this item.

Examples: customlayout/border.cpp, customlayout/card.cpp and customlayout/flow.cpp.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

void QLayoutItem::setAlignment ( int a ) [virtual]

Sets the alignment of this item to a, which is a bitwise OR of the Qt::AlignmentFlags. Not all subclasses support alignment.

void QLayoutItem::setGeometry ( const QRect & r ) [pure virtual]

Implemented in subclasses to set this item's geometry to r.

Examples: customlayout/border.cpp, customlayout/card.cpp and customlayout/flow.cpp.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QSize QLayoutItem::sizeHint () const [pure virtual]

Implemented in subclasses to return the preferred size of this item.

Examples: customlayout/border.cpp, customlayout/card.cpp and customlayout/flow.cpp.

Reimplemented in QSpacerItem, QWidgetItem, QGridLayout and QBoxLayout.

QSpacerItem * QLayoutItem::spacerItem () [virtual]

If this item is a QSpacerItem, return it as a QSpacerItem; otherwise return 0. This function provides type-safe casting.

QWidget * QLayoutItem::widget () [virtual]

If this item is a QWidgetItem, the managed widget is returned. The default implementation returns 0.

Reimplemented in QWidgetItem.


This file is part of the Qt toolkit. Copyright © 1995-2002 Trolltech. All Rights Reserved.


Copyright © 2002 TrolltechTrademarks
Qt version 3.0.3